Object segmentation is a funndamental problem in computer vision. A typical mechanism for object segmentation is to segment an image into a foreground and a background, with the foreground including object(s) in a class. For example, the class may include birds, cars, airplanes, and the like. The background may include trees, grass, sidewalks, highways, and the like. Typically, there are two categories of algorithms used for object segmentation, supervised and unsupervised.
Supervised algorithms require manually segmenting masks in training images, specific shape templates, or others kinds of prior information (e.g., object part configuration or class fragments). The algorithm may be applicable to a particular object class, a range of objects, or object classes with class dependent prior information. However, the algorithm is only typically capable of handling a small number of classes of objects and most classes may require many training samples due to significant intra-class shapes and appearance variances.
The other category, unsupervised algorithms is a technique where learning or training may not involve human interaction. One unsupervised algorithm technique uses an overlap between automatically extracted object parts (or fragments) to determine the foreground and the background. However, this approach considers individual parts independently, causing shortcomings, such as incorrectly identifying background clutters as foreground parts. Another approach of unsupervised algorithm combines the images together to find a consistent segmentation based on an assumption that the object shape and the color distribution pattern are consistent within a class, and that the color and texture variability within a single object of the class is limited. Thus, each image should only contain one object of the class. While these approaches to object segmentation have pros and cons, none of the approaches allows for unsupervised algorithm to produce accurate object boundaries for images of objects of the same class.
Also, existing unsupervised algorithms are not effectively usable to accurately segment objects, when object segmentation precedes class discovery. Some techniques require the common parts to have similar shape, color, and texture. Thus, these techniques have not provided accurate object boundaries for images of objects of the same class without annotated training images.